package com.rightsidetech.system.mapper;

import com.rightsidetech.system.dtos.request.CompanyAreaReq;
import com.rightsidetech.system.dtos.request.agent.AreaAgentListReq;
import com.rightsidetech.system.dtos.request.store.ActAreaAgentStoreReq;
import com.rightsidetech.system.dtos.response.CompanyAreaResp;
import com.rightsidetech.system.dtos.response.CompanyManageAreaResp;
import com.rightsidetech.system.dtos.response.RegionTreeResp;
import com.rightsidetech.system.dtos.response.agent.AreaAgentListResp;
import com.rightsidetech.system.dtos.response.store.ActAreaAgentStoreResp;
import com.rightsidetech.system.entity.SysCompanyArea;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface SysCompanyAreaMapper {
    int deleteByPrimaryKey(Long id);

    int insert(SysCompanyArea record);

    int insertSelective(SysCompanyArea record);

    SysCompanyArea selectByPrimaryKey(Long id);

    int updateByPrimaryKeySelective(SysCompanyArea record);

    int updateByPrimaryKey(SysCompanyArea record);

    List<CompanyManageAreaResp> selectList(@Param("status")Byte status,@Param("areaId") Long areaId);

    List<CompanyAreaResp> page(CompanyAreaReq req);

    int selectCount(Long id);

    SysCompanyArea countAreaByName(String name);

    List<AreaAgentListResp> findAreaByAreaOrAgentId(AreaAgentListReq request);

    int updateStatus(SysCompanyArea record);

    List<ActAreaAgentStoreResp> selectActAreaList(ActAreaAgentStoreReq req);

    List<RegionTreeResp> allArea();

    List<Long> areaById(List<Long> ids);
}